// <!-- 需求一： 获取用户信息 并给表单赋值 -->

initUserInfo()


function  initUserInfo () {
   $.ajax({
      url:"/my/userinfo",
      // 这里不需要在写headers  因为在api 已经配置过了
      success: res =>{
        console.log(res)

        if(res.status !=0) return  layer.msg(res.message)

        // 1.1 使用form.val 赋值的时候   
        // 1.2 第一个参数 对应的是layui-form 这个类名的 所在属性的lay-filter属性  
        // 1.3 第二个参数 要求的是一个对象 对象的属性是 表单的name的值 
        // 属性值是用户输入的值 
        let {form} = layui

        form.val('userForm',  res.data)

      }
   })
}


// 2 实现表单的重置效果
// 2.1 点击重置  我要对表单重新赋值
$('#btnReset').click(function(){
   initUserInfo ()
   return false
})


// 3 发起请求更新用户的信息
// 3.1 表单中没有id    id 要求是用户的id   获取用户信息的时候已经返回了 
// 3.2 页面中没有id 并且页面中的id 不需要显示 
// 3.2.1 在form 中添加一个name=id 的input  并让他隐藏
$('.layui-form').submit(function(){
   // 3.4 发送数据请求
   $.ajax({
      method:'POST',
      url:'/my/userinfo',
      // 3.5 注意 看到接口文档中body的参数 直接放到data 里面 
      // 3.5.1 $(this).serialize() 必须带有name字段 注意不要漏了id 
      data: $(this).serialize(),
      success: res =>{
         // 3.6 后端刚毕业 id 没有传 他居然不知道
         if(res.status !=0) return  layer.msg(res.message)
      
         layer.msg(res.message)

         // 3.7 需要调用index里面的
         // 3.7.1  在使用iframe 嵌套的页面 我们成 index 父页面
         // 3.7.2 userInfo 是子页面 
         // 3.7.3 子页面想要调用父页面的方法 需要通过 全局变量 parent 
         // getUserInfo()
         // 3.7.4 parent 可以拿到父元素中所有的全局方法 
         console.log(parent )
         // 容错判断 如果  parent.getUserInfo 有  调用
         parent.getUserInfo && parent.getUserInfo()

      }
   })
   // 3.3 阻止表单默认提交
   return false 
})
